class CCArray : public CCObject
{
    static CCArray* create();
    static CCArray* createWithObject(CCObject* pObject);
    static CCArray* create(const char*  pFileName);
    static CCArray* create(unsigned int capacity);
    static CCArray* create(CCArray* otherArray);

    unsigned int count();

    unsigned int capacity();

    unsigned int indexOfObject(CCObject* object);

    CCObject* objectAtIndex(unsigned int index);

    CCObject* lastObject();

    CCObject* randomObject();

    bool containsObject(CCObject* object);

    void addObject(CCObject* object);

    void addObjectsFromArray(CCArray* otherArray);

    void insertObject(CCObject* object, unsigned int index);

    void removeLastObject(bool bReleaseObj = true);

    void removeObject(CCObject* object, bool bReleaseObj = true);

    void removeObjectAtIndex(unsigned int index, bool bReleaseObj = true);

    void removeObjectsInArray(CCArray* otherArray);

    void removeAllObjects();

    void fastRemoveObject(CCObject* object);

    void fastRemoveObjectAtIndex(unsigned int index);

    void exchangeObject(CCObject* object1, CCObject* object2);

    void exchangeObjectAtIndex(unsigned int index1, unsigned int index2);

    void reverseObjects();

    void reduceMemoryFootprint();

    void replaceObjectAtIndex(unsigned int uIndex, CCObject* pObject, bool bReleaseObject = true);

};
